package com.cqrcb.cloud.entity.quota.io.base;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * @author ：29520
 * @date ：Created in 2021/6/25 8:40
 * @description：
 * @modified By：
 * @version:
 */
@Data
public class QuotaBaseIO {
    /**
     *
     */
    @ApiModelProperty(value="",name="id")
    private Long id;


    /**
     * 操作类型
     */
    @ApiModelProperty(value="操作类型 1:锁定额度  2:直接扣减  3:回冲锁定类额度 4:回冲直接扣减类额度",name="operationType")
    @NotNull(message = "操作类型不能为空")
    @Length(max = 20, message = "类型 1:锁定额度  2:直接扣减  3:回冲锁定类额度 4:回冲直接扣减类额度")
    private String operationType;

    /**
     * 数据值
     */
    @ApiModelProperty(value="数据值",name="dataId")
    @NotNull(message = "数据值不能为空")
    @Length(max = 100, message = "名长度最长为100")
    private String dataId;

    /**
     * 数据类型
     */
    @ApiModelProperty(value="数据类型",name="dataType")
    @NotNull(message = "数据类型不能为空")
    @Length(max = 50, message = "名长度最长为50")
    private String dataType;


    /**
     * 使用额度
     */
    @ApiModelProperty(value="使用额度",name="usedQuota")
    @NotNull(message = "使用额度不能为空")
    private BigDecimal useQuota;

    /**
     * 额度类型
     */
    @ApiModelProperty(value="额度类型",name="quotaType")
    @Length(max = 50, message = "名长度最长为50")
    private String quotaType;

    /**
     * 备注
     */
    @JsonProperty("Remark")
    @ApiModelProperty(value="备注",name="remark")
    @Length(max = 50, message = "名长度最长为50")
    private String remark;
}
